package com.ld.control.business.sample.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ld.control.business.equipment.vo.resp.EquipmentSampleFieldShowRespVo;
import com.ld.control.business.sample.model.SampleModel;
import com.ld.control.business.sample.vo.resp.SampleDataFileRespVo;
import com.ld.control.business.sample.vo.resp.SampleExtRespVo;
import com.ld.control.business.sample.vo.resp.SampleRespVo;
import com.ld.control.common.vo.GeneratePageListVo;
import jakarta.servlet.http.HttpServletResponse;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 样品表，存放任务的样品信息 服务类
 * </p>
 *
 * @author wangfeng
 * @since 2024-06-12
 */
public interface SampleService extends IService<SampleModel> {


    /**
     * 查询样品列表
     * @param current
     * @param size
     * @return
     */
    GeneratePageListVo<SampleExtRespVo> getPageList(Integer current, Integer size);

    /**
     * 根据任务实例+设备id查询此设备下所有的样品数据
     * @param taskExampleId
     * @param equipmentId
     * @param current
     * @param size
     * @return
     */
    GeneratePageListVo<List<String>> getPageListExt1(Long taskExampleId, Long equipmentId, Integer current, Integer size);



    /**
     * 下载样品数据
     * @param taskExampleId
     * @param equipmentId
     */
    void downloadSampleData(HttpServletResponse response, Long taskExampleId, Long equipmentId);

    /**
     * 回传生成样本数据
     * @param processNodeExampleModelId
     */
    void callBackSample(Long processNodeExampleModelId);

    /**
     * 下载检测报告
     * @param taskExampleId
     * @return
     */
    List<SampleDataFileRespVo> getSampleDataFileList(Long taskExampleId);

}
